package com.xtj.demo1;


import com.rabbitmq.client.*;
import com.xtj.utils.RabbitMQUtils;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

public class Customer {
    //消费对象
    public static void main(String[] args) throws IOException, TimeoutException {

    //创建链接mq的连接工厂对象
//    ConnectionFactory connectionFactory = new ConnectionFactory();
//    //设置连接rabbitmq主机
//        connectionFactory.setHost("124.222.224.71");
//    //设置端口号
//        connectionFactory.setPort(5672);
//    //设置连接那个虚拟主机
//        connectionFactory.setVirtualHost("/test");
//    //设置访问虚拟机的用户名和密码
//        connectionFactory.setUsername("test");
//        connectionFactory.setPassword("123456");
//
//    //获取连接对象
    Connection connection = RabbitMQUtils.getConnection();
        //获取连接中通道

    Channel channel = connection.createChannel();

    //通道绑定对应消息队列
    //参数1:队列名称，如果队列不存在，自动创建
    //参数2:b用于定义队列特性是否持久化,true持久化队列，false不持久化
    //参数3:b1是否独占队列，true开启独占队列，false关闭独占队列
    //参数4:b2是否在消费完成自动删除，true自动删除，false关闭自动删除
    //参数4:额外附加参数
        channel.queueDeclare("aa",true,false,false,null);

    //消费消息
    //参数1:消费那个队列消息 消息名称
    //参数2:开始消息的自动确定机制
    //参数3:消费时的回调接口
        channel.basicConsume("aa",true,new DefaultConsumer(channel) {
        @Override
        public void handleDelivery (String consumerTag, Envelope envelope, AMQP.BasicProperties properties,byte[] body) throws
        IOException {
            System.out.println("new string(body)=" + new String(body));
        }
    });
       // channel.close();
        //connection.close();
}
}
